/**
 * @file   laserfield.h
 * @author Carlos Hernández García <carloshergar@usal.es>, Camilo Ruiz, Enrique Conejero
 * @date   Fri Apr  10 2009  
 *
 * Copyright (c) 2009 Carlos Hernández García
 *
 * @brief  This library provides the laser parameters used in the PIC code.
 *
 * 
 * Carlos Hernández García                          \n
 * <carloshergar@usal.es>                           \n
 * Universidad de Salamanca                         \n
 * Plaza de la Merced s/n                           \n
 * E-37008 Salamanca, SPAIN                         \n
 */
/********************************************************************************/


#include "constants.h"
#include<iostream>
#include<vector.h> 

class laser
	{	
	public:
		
		//Field parameters
		double w0;  //=0.057;
		double k0;  //=w0/lightC_au;
		double lambda;//=2.*pi/w0;
		int  nw; //=20;
		
		double wp; //=w0/2./nw; //Envelope frequency;
		double kp; //=wp/lightC_au;
		double E0; //=0.5;
		
		void initialize(double _w0,int _nw, double _E0)
		{
			w0=_w0;
			k0=w0/lightC_au;
			lambda=2.*Pi/k0;
			
			nw=_nw;
			wp=w0/2./nw;
			kp=wp/lightC_au;
			E0=_E0;
		}
		
		laser(double _w0,int _nw, double _E0)
		{
			w0=_w0;
			k0=w0/lightC_au;
			lambda=2.*Pi/k0;
			
			nw=_nw;
			wp=w0/2./nw;
			kp=wp/lightC_au;
			E0=_E0;
		}
	};

/*! \class laser laserfield.h "include/laserfield.h" 
 * \brief Class representing the laser used in the PIC code. 
 * 
 * In this class we define all the parameters of the laser used in the code.
 */ 
